﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.IO;

namespace Datenhaltung
{
  public class Datenhaltung1 : IDatenhaltung
  {
    private static readonly string path = 
      AppDomain.CurrentDomain.BaseDirectory + "/Datenhaltung1.xml";

    private readonly XmlDocument document = new XmlDocument();

    /// <summary>
    /// Erstellt eine neue Instanz der
    /// Datenhaltung1-Klasse, überprüft
    /// ob die benötigte Datei
    /// "Datenhaltung1.xml" vorhanden ist 
    /// und ob sie bearbeitet werden kann.
    /// Wurde die Datei nicht gefunden wird
    /// versucht sie anzulegen.
    /// Exceptions die auftreten können sind
    /// hier gelistet <see cref="System.Xml.Document.Load()"/>
    /// </summary>
    public Datenhaltung1()
    {
      try
      {
        this.document.CreateElement("hersteller");
        this.document.Save(path);
        //this.document.Load(path);
      }
      catch(FileNotFoundException fnfex)
      {
        this.document.CreateElement("hersteller");
        this.document.Save(path);
      }
    }

    #region Implementierung Interface IDatenhaltung
    public void SpeicherHersteller(Datencontainer.Hersteller hersteller)
    {
      throw new NotImplementedException();
    }

    public void SpeicherModel(Datencontainer.Modell model)
    {
      throw new NotImplementedException();
    }

    public void SpeicherAuto(Datencontainer.Auto auto)
    {
      throw new NotImplementedException();
    }

    public void SpeicherKraftstoff(Datencontainer.Kraftstoff kraftstoff)
    {
      throw new NotImplementedException();
    }

    public Datencontainer.Hersteller[] LadeHersteller()
    {
      throw new NotImplementedException();
    }

    public Datencontainer.Modell[] LadeModelle()
    {
      throw new NotImplementedException();
    }

    public Datencontainer.Modell[] LadeModelleBy(Datencontainer.Hersteller hersteller)
    {
      throw new NotImplementedException();
    }

    public Datencontainer.Auto[] LadeAutos()
    {
      throw new NotImplementedException();
    }

    public Datencontainer.Auto[] LadeAutosBy(Datencontainer.Modell modell)
    {
      throw new NotImplementedException();
    }

    public Datencontainer.Auto[] LadeAutosBy(Datencontainer.Hersteller hersteller)
    {
      throw new NotImplementedException();
    }
    #endregion
  }
}
